#! /bin/bash
export LANG=zh_CN.UTF-8
HIVE_HOME=/usr/bin/hive

${HIVE_HOME} -S -e "
--客户详细信息表  新增更新
DROP TABLE IF EXISTS edu_dwd.dwd_dim_customer;
CREATE TABLE IF NOT EXISTS edu_dwd.dwd_dim_customer(
    id                       INT,
    customer_relationship_id INT         COMMENT '当前意向id',
    create_date_time         string      COMMENT '创建时间',
    update_date_time         string      COMMENT '最后更新时间',
    deleted                  string      COMMENT '是否被删除（禁用）',
    name                     string      COMMENT '姓名',
    idcard                   string      COMMENT '身份证号',
    birth_year               INT         COMMENT '出生年份',
    gender                   string      COMMENT '性别',
    phone                    string      COMMENT '手机号',
    wechat                   string      COMMENT '微信',
    qq                       string      COMMENT 'qq号',
    email                    string      COMMENT '邮箱',
    area                     string      COMMENT '所在区域',
    leave_school_date        string      COMMENT '离校时间',
    graduation_date          string      COMMENT '毕业时间',
    bxg_student_id           string      COMMENT '博学谷学员ID，可能未关联到，不存在',
    creator                  INT         COMMENT '创建人ID',
    origin_type              string      COMMENT '数据来源',
    origin_channel           string      COMMENT '来源渠道',
    tenant                   INT          ,
    md_id                    INT ,
    end_date                 string      COMMENT '拉链结束时间'
)
comment '客户详细信息表'
PARTITIONED BY (start_date string)  --拉链开始时间 也是分区字段
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
STORED AS ORC TBLPROPERTIES ('orc.compress'='SNAPPY');


--线索申诉信息表  新增及更新
DROP TABLE IF EXISTS edu_dwd.dwd_dim_customer_appeal;
create table if not exists edu_dwd.dwd_dim_customer_appeal(
    id                             INT       COMMENT '主键',
    customer_relationship_first_id INT       COMMENT '第一条客户关系id',
    employee_id                    INT       COMMENT '申诉人',
    employee_name                  string    COMMENT '申诉人姓名',
    employee_department_id         INT       COMMENT '申诉人部门',
    employee_tdepart_id            INT       COMMENT '申诉人所属部门',
    appeal_status                  TINYINT   COMMENT '申诉状态，0:待稽核 1:无效 2：有效',
    audit_id                       INT       COMMENT '稽核人id',
    audit_name                     string    COMMENT '稽核人姓名',
    audit_department_id            INT       COMMENT '稽核人所在部门',
    audit_department_name          string    COMMENT '稽核人部门名称',
    audit_date_time                string    COMMENT '稽核时间',
    create_date_time               string    COMMENT '创建时间（申诉时间）',
    update_date_time               STRING    COMMENT '更新时间',
    deleted                        string    COMMENT '删除标志位',
    tenant                         int ,
    end_date                       string    COMMENT '拉链结束时间'
)
COMMENT '线索申诉信息表'
PARTITIONED BY (start_date string)  --拉链开始时间 也是分区字段
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
STORED AS ORC TBLPROPERTIES ('orc.compress'='SNAPPY');


--员工信息表  全量覆盖
DROP TABLE IF EXISTS edu_dwd.dwd_dim_employee;
create table if not exists edu_dwd.dwd_dim_employee(
    id                  INT ,
    email               string      COMMENT '公司邮箱，OA登录账号',
    real_name           string      COMMENT '员工的真实姓名',
    phone               string      COMMENT '手机号，目前还没有使用；隐私问题OA接口没有提供这个属性，',
    department_id       string      COMMENT 'OA中的部门编号，有负值',
    department_name     string      COMMENT 'OA中的部门名',
    remote_login        string      COMMENT '员工是否可以远程登录',
    job_number          string      COMMENT '员工工号',
    cross_school        string      COMMENT '是否有跨校区权限',
    last_login_date     string      COMMENT '最后登录日期',
    creator             INT         COMMENT '创建人',
    create_date_time    string      COMMENT '创建时间',
    update_date_time    STRING      COMMENT '最后更新时间',
    deleted             string      COMMENT '是否被删除（禁用）',
    scrm_department_id  INT         COMMENT 'SCRM内部部门id',
    leave_office        string      COMMENT '离职状态',
    leave_office_time   string      COMMENT '离职时间',
    reinstated_time     string      COMMENT '复职时间',
    superior_leaders_id INT         COMMENT '上级领导ID',
    tdepart_id          INT         COMMENT '直属部门',
    tenant              INT         ,
    ems_user_name       string
)
COMMENT '员工信息表'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
STORED AS ORC TBLPROPERTIES ('orc.compress'='SNAPPY');


--校区信息表  全量覆盖
DROP TABLE IF EXISTS edu_dwd.dwd_dim_itcast_school;
create table if not exists edu_dwd.dwd_dim_itcast_school(
    id               INT ,
    create_date_time string     COMMENT '创建时间',
    update_date_time STRING     COMMENT '最后更新时间',
    deleted          string     COMMENT '是否被删除（禁用）',
    name             string     COMMENT '校区名称',
    code             string     ,
    tenant           INT
)
COMMENT '校区信息表'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
STORED AS ORC TBLPROPERTIES ('orc.compress'='SNAPPY');


--学科信息表  全量覆盖
DROP TABLE IF EXISTS edu_dwd.dwd_dim_itcast_subject;
create table if not exists edu_dwd.dwd_dim_itcast_subject(
    id               INT ,
    create_date_time string      COMMENT '创建时间',
    update_date_time STRING      COMMENT '最后更新时间',
    deleted          string      COMMENT '是否被删除（禁用）',
    name             string      COMMENT '学科名称',
    code             string      ,
    tenant           INT
)
COMMENT '学科信息表'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
STORED AS ORC TBLPROPERTIES ('orc.compress'='SNAPPY');


--员工部门表  全量覆盖
DROP TABLE IF EXISTS edu_dwd.dwd_dim_scrm_department;
create table if not exists edu_dwd.dwd_dim_scrm_department(
    id               INT ,
    name             string     COMMENT '部门名称',
    parent_id        INT        COMMENT '父部门id',
    create_date_time string     COMMENT '创建时间',
    update_date_time STRING     COMMENT '更新时间',
    deleted          string     COMMENT '删除标志',
    id_path          string     COMMENT '编码全路径',
    tdepart_code     INT        COMMENT '直属部门',
    creator          string     COMMENT '创建者',
    depart_level     INT        COMMENT '部门层级',
    depart_sign      INT        COMMENT '部门标志，暂时默认1',
    depart_line      INT        COMMENT '业务线，存储业务线编码',
    depart_sort      INT        COMMENT '排序字段',
    disable_flag     INT        COMMENT '禁用标志',
    tenant           INT
)
COMMENT '员工部门表'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
STORED AS ORC TBLPROPERTIES ('orc.compress'='SNAPPY');
"